package main

import (
	"flag"
	"fmt"
	"goscan-mgt/config"
	"goscan-mgt/router" // 引入路由包
	"goscan-mgt/utils"
	"log" // 引入日志包
	"strconv"
)

func main() {
	portFlag := flag.String("port", "", "server port")
	flag.Parse()

	log.Printf("初始化数据库……")
	utils.InitDB()
	log.Printf("数据库初始化完成！！")
	r := router.SetupRoutes() // 不传参数，直接接收返回值
	cfg := config.LoadConfig()

	port := cfg.Port
	if *portFlag != "" {
		if p, err := strconv.Atoi(*portFlag); err == nil {
			port = p
		}
	}

	if err := r.Run(fmt.Sprintf(":%d", port)); err != nil {
		log.Fatalf("启动服务器失败: %v", err)
	}
}
